#!/usr/bin/env bun

/**
 * 测试优化后的最终布局效果
 */

import { JsonToPptConverter } from '../../../../src/tools/convert/ppt/json-to-ppt.js';
import { resolve } from 'path';

async function testFinalLayout() {
  console.log('🎨 测试优化后的最终布局效果');
  console.log('='.repeat(50));

  try {
    // 使用与截图中类似的测试数据
    const testData = [
      {
        year: '2024',
        nextYear: '2025',
        presenter: '张三',
        department: '技术研发部',
        date: '2024年12月',
        subtitle: '年终总结与成果展示',
        
        contents: [
          '年度目标达成情况',
          '核心项目成果',
          '关键数据指标',
          '技术栈与项目分析',
          '性能优化成果',
          '挑战与突破',
          '能力成长与学习',
          '2025年规划与展望'
        ],
        
        // 这是截图中显示的内容，现在应该更协调
        goals_overview: '这是一个测试文本，用于验证16:9宽屏格式下的文本布局是否正确。文本应该充分利用宽屏的空间，不应该只挤在左半部分。',
        goals_list: [
          '✅ 验证文本在宽屏下的显示效果',
          '✅ 确保内容充分利用16:9的宽度', 
          '✅ 检查图表和表格的位置是否合理',
          '✅ 测试多列布局的对齐效果'
        ],
        
        projectName: '智能数据平台',
        project_desc: '基于云原生架构的智能数据处理平台，支持海量数据实时分析和机器学习模型训练。',
        tech_stack: [
          'Kubernetes + Docker',
          'React + TypeScript', 
          'Node.js + Python',
          'Redis + PostgreSQL'
        ],
        achievements: [
          '💡 处理能力：支持每秒10万条数据处理',
          '⚡ 响应速度：查询响应时间缩短至50ms以内',
          '🔒 安全性：通过SOC2 Type II合规认证',
          '📊 用户体验：用户满意度提升至92%'
        ],
        
        // 简化的图表数据
        performance_chart: [
          { name: '响应时间', labels: ['Q1', 'Q2', 'Q3', 'Q4'], values: [120, 95, 78, 65] },
          { name: 'CPU使用率', labels: ['Q1', 'Q2', 'Q3', 'Q4'], values: [78, 65, 58, 52] }
        ],
        
        tech_distribution: {
          labels: ['Frontend', 'Backend', 'Database', 'DevOps', 'AI/ML'],
          values: [25, 30, 15, 20, 10]
        },
        
        project_timeline: {
          series: [
            {
              name: '完成任务数',
              labels: ['1月', '2月', '3月', '4月', '5月', '6月'],
              values: [8, 12, 15, 18, 22, 28]
            }
          ]
        },
        
        performance_trend: {
          series: [
            {
              name: '平均响应时间(ms)',
              labels: ['1月', '2月', '3月', '4月', '5月', '6月'],
              values: [120, 110, 95, 85, 70, 65]
            }
          ]
        },
        
        optimization_summary: '🎯 布局优化总结：通过调整文本框位置和宽度，现在内容在16:9宽屏下呈现更协调的视觉效果！',
        
        metrics_table: [
          ['指标', 'Q1', 'Q2', 'Q3', 'Q4', '年度目标', '完成率'],
          ['代码提交数', '250', '320', '480', '650', '1500', '112%'],
          ['Bug修复数', '45', '65', '78', '92', '280', '100%'],
          ['新功能发布', '8', '12', '15', '18', '50', '106%']
        ],
        
        metrics_summary: '各项核心指标均超额完成年度目标，布局优化后视觉效果更加专业！',
        
        challenges_intro: '在布局优化过程中，重点解决了以下问题：',
        challenges_table: [
          ['问题', '影响', '解决方案', '效果'],
          ['文本框过度靠左', '高', '调整x坐标从10%到8%', '视觉更平衡'],
          ['内容宽度利用不充分', '中', '扩大w宽度到84%', '空间利用更好'],
          ['列表项间距不当', '低', '微调y坐标和字体大小', '阅读体验提升']
        ],
        
        skills_growth: [
          '📐 16:9布局优化：掌握宽屏PPT的视觉平衡技巧',
          '🎨 用户体验设计：理解内容与空间的和谐关系',
          '⚡ 快速迭代：通过测试快速验证布局效果',
          '🔧 细节完善：注重边距、对齐等细节优化'
        ],
        
        certifications: [
          '🏆 PPT布局设计专家',
          '📐 16:9宽屏适配认证',
          '🎯 用户界面优化证书'
        ],
        
        next_goals: [
          '🎯 继续完善：进一步优化各类内容的布局',
          '📱 多格式支持：适配更多屏幕比例',
          '🎨 视觉升级：添加更多设计元素',
          '⚡ 自动优化：智能调整内容布局'
        ],
        
        roadmap: [
          ['阶段', '目标', '状态'],
          ['布局基础', '16:9宽屏适配', '✅ 完成'],
          ['视觉优化', '文本框位置协调', '✅ 完成'], 
          ['体验提升', '整体视觉平衡', '🔄 优化中'],
          ['功能完善', '智能布局算法', '📋 计划中']
        ]
      }
    ];

    const converter = new JsonToPptConverter();
    const outputPath = resolve('/Users/ahata/Downloads/final-layout-optimized.pptx');
    
    console.log('🎨 生成布局优化后的PPT...');
    
    const result = await converter.generateFromTemplate({
      templateName: 'year-end-tech',
      data: testData,
      outputPath: outputPath,
      options: {
        author: '布局优化测试',
        title: '16:9宽屏布局优化版',
        theme: 'modern',
        size: 'widescreen',
        includePageNumbers: true
      }
    });

    if (result.success) {
      console.log('\n✅ 布局优化PPT生成成功！');
      console.log(`📁 文件位置: ${result.outputPath}`);
      console.log(`📄 幻灯片数量: ${result.slideCount}`);
      console.log(`📦 文件大小: ${Math.round(result.size / 1024)}KB`);
      
      console.log('\n🎯 优化要点:');
      console.log('   📐 文本框位置更协调: x从10%调整到8%');
      console.log('   📏 内容宽度更充分: w扩展到84%');
      console.log('   📝 列表项布局优化: 适度缩进和间距');
      console.log('   🎨 视觉平衡改善: 左右留白更合理');
      
      console.log('\n🔧 具体调整:');
      console.log('   ✨ goals_overview: x=8%, w=84% (原10%, 80%)');
      console.log('   📋 goals_list: x=12%, w=76% (原10%, 80%)');
      console.log('   📊 challenges部分: 全面位置优化');
      console.log('   📝 目录页面: x=20%, w=60% 居中效果');
      
      console.log('\n👀 请检查新生成的PPT，特别关注:');
      console.log('   🔍 "年度目标达成情况"页面的文本布局');
      console.log('   📋 列表项目是否看起来更协调');
      console.log('   🎨 整体视觉平衡是否有所改善');
      
    } else {
      console.error('❌ 布局优化PPT生成失败:', result.message);
    }

  } catch (error) {
    console.error('❌ 测试失败:', error);
  }
}

if (import.meta.main) {
  testFinalLayout();
}
